﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Controller; // Brug vores class library "Controller"

namespace Sorts_F1
{
    public partial class FrmRedigerPointsaet : Form
    {
        // Attribut
        ClsSystemController systemController;

        public FrmRedigerPointsaet(ClsSystemController systemController) // modtager controlleren fra start formen
        {
            InitializeComponent();
            this.systemController = systemController; // Istedet for at instansiere en ny controller bruger vi den der bliver sendt med
            this.MinimumSize = this.MaximumSize = this.Size; // Sørg for at formen altid er den nuværende størrelse
        }

        private void btnRedigerPointsaet_Click(object sender, EventArgs e)
        {
            try
            {
                // Upload de point der svarer til de enkelte placeringer fra 1 til 10
                systemController.RedigerPointSaetIDB(1, int.Parse(txtPlads1.Text));
                systemController.RedigerPointSaetIDB(2, int.Parse(txtPlads2.Text));
                systemController.RedigerPointSaetIDB(3, int.Parse(txtPlads3.Text));
                systemController.RedigerPointSaetIDB(4, int.Parse(txtPlads4.Text));
                systemController.RedigerPointSaetIDB(5, int.Parse(txtPlads5.Text));
                systemController.RedigerPointSaetIDB(6, int.Parse(txtPlads6.Text));
                systemController.RedigerPointSaetIDB(7, int.Parse(txtPlads7.Text));
                systemController.RedigerPointSaetIDB(8, int.Parse(txtPlads8.Text));
                systemController.RedigerPointSaetIDB(9, int.Parse(txtPlads9.Text));
                systemController.RedigerPointSaetIDB(10, int.Parse(txtPlads10.Text));

                lvPointPlacering.Items.Clear(); // Clear listviewet for at gøre klar til nye opdaterede data
                systemController.OpdaterPointPlaceringFraDB(); // Download de nye data fra databasen
                OpdaterFormen(); // Opdaterer formen så det nye data loades
                MessageBox.Show("Pointsættet er rettet");
            }

            catch
            {

            }
            
        }

        public void OpdaterFormen()
        {
            foreach (var item in systemController.VisPointPlacering())
            {
                ListViewItem lvi = new ListViewItem(); // Instansiere listviewet
                lvi.SubItems[0].Text = item.Placering.ToString();
                lvi.SubItems.Add(item.Point.ToString());
                lvPointPlacering.Items.Add(lvi); // Adderer subitems til listviewet
            }
        }

        private void FrmRedigerPointsaet_Load(object sender, EventArgs e)
        {
            systemController.OpdaterPointPlaceringFraDB(); // Download de point der svarer til de enkelte placeringer fra 1 til 10
            OpdaterFormen();// Opdater formen når den loades
        }


    }
}
